package com.tbit.main.dao.core;

import com.tbit.main.pojo.BatteryModel;
import com.tbit.main.pojo.MachineBatteryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电池方案
 *
 * @author Leon
 * 2020年4月9日 下午7:05:19
 */
public interface BatteryModelDao {

    /**
     * 查询运营区域电池方案
     *
     * @param accountId
     * @return
     */
    List<BatteryModel> getBatteryModel(Integer accountId);


    /**
     * 根据车辆id查询电池类型
     *
     * @param modelId
     * @return
     */
    BatteryModel getByModelId(Integer modelId);


    /**
     * 查询车辆电池方案
     *
     * @param accountId
     * @return
     */
    List<MachineBatteryModel> getMachineBatteryModel(Integer accountId);

    /**
     * 根据车辆id查询电池方案
     *
     * @param machineId
     * @return
     */
    MachineBatteryModel getMachineId(Integer machineId);

    /**
     * 批量绑定电池方案
     * @param machineIds 设备id
     * @param batteryModelId 电池方案id
     */
    void batchAdd(@Param("machineIds") List<Integer> machineIds, @Param("batteryModelId") Integer batteryModelId);

    /**
     * 查询所有电池方案
     * @param accountIdList 区域id
     * @return List<BatteryModel>
     */
    List<BatteryModel> getAllBatteryModel(@Param("accountIdList")List<Integer> accountIdList);

    /**
     * @description: 格局车辆编号获取电池方案
     * @author: mo.shanyong
     * @date: 2025/4/18 15:20
     * @param: machineId
     * @return: com.tbit.main.pojo.BatteryModel
     */
    BatteryModel getBatteryModelMachineId(@Param("machineId") Integer machineId);
}